From: Florian Müllner Date: Wed, 3 Apr 2019 10:35:03 +0000 (+0200) Subject: weather: Handle missing permission store X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~871^2^2~2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=fea01927720e5d73e14e1649ee36cc6c60835d6f;p=gnome-shell.git weather: Handle missing permission store Our weather integration is supposed to follow GNOME Weather's settings, including its permission to use location services. However there's a discrepancy in case xdg-desktop-portal is unavailable: While our geoclue agent grants all applications access to location services in that case, the weather integration treats it as if access was denied. Fix this by handling this case explicitly. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1130 --- diff --git a/js/misc/weather.js b/js/misc/weather.js index aaec36cf4..e804bdee9 100644 --- a/js/misc/weather.js +++ b/js/misc/weather.js @@ -30,6 +30,14 @@ var WeatherClient = class { return; } + if (this._permStore.g_name_owner == null) { + // Failed to auto-start, likely because xdg-desktop-portal + // isn't installed; don't restrict access to location service + this._weatherAuthorized = true; + this._updateAutoLocation(); + return; + } + this._permStore.LookupRemote('gnome', 'geolocation', (res, error) => { if (error) log('Error looking up permission: ' + error.message);